/**
* 描述： 这个模块用于设计路由
* 
*/



const express = require('express')
const Crud = require('./crud')

let app = express.Router()

app.get('/', (req, res) => {
  Crud.find((err, data) => {
    if (err) {
      return res.status(500).send('Server Error')
    }
    res.render('index_v2.html', {
      _bk1 : data.bookmarks.bk1,
      _bk2 : data.bookmarks.bk2,
      _bk3 : data.bookmarks.bk3,
      _bk4 : data.bookmarks.bk4
    })
  })
})

// 用于展示书签修改页面
app.get('/updatebk', (req, res) => {
  Crud.find((err, data) => {
    if (err) {
      return res.status(500).send('Server Error')
    }
    res.render('updatebk.html', {
      _bk1 : data.bookmarks.bk1,
      _bk2 : data.bookmarks.bk2,
      _bk3 : data.bookmarks.bk3,
      _bk4 : data.bookmarks.bk4
    })
  })
})


// 用于渲染新增书签的页面及储存进数据库
app.get('/new', (req, res) => {
  Crud.find((err, data) => {
    if (err) {
      return res.status(500).send('Server Error')
    }
    res.render('add_bk.html')
  })
})

app.post('/new', (req, res) => {
  let message = req.body
  Crud.add(message, (err) => {
    if (err) {
      return res.status(500).send('Server Error')
    }
    res.redirect('/updatebk')
  })
})

// 用于渲染修改书签的页面及储存进数据库
app.get('/edit', (req, res) => {
  let id = req.query.id
  Crud.findById(id, (err, arrelem) => {
    if (err) {
      return res.status(500).send('Server Error')
    }
    let cate = arrelem.id[0]
    let flag = ['','','','']

    flag[cate-1] = 'selected'

    res.render('edit_bk.html', {
      arr : arrelem,
      select : flag
    })
  })
})

app.post('/edit', (req, res) => {
  let message = req.body
  Crud.update(message, (err) => {
    if (err) {
      return res.status(500).send('Server Error')
    }
    res.redirect('/updatebk')
  })
})


// 删除书签
app.get('/del', (req, res) => {
  let id = req.query.id
  Crud.dropById(id, (err) => {
    if (err) {
      return res.status(500).send('Server Error')
    }
    res.redirect('/updatebk')
  })
})

app.get('/reset', (req, res) => {
  Crud.reset((err) => {
    if (err) {
      return res.status(500).send('Server Error')
    }
    res.redirect('/updatebk')
  })
})

module.exports = app